package sosopkpk;

public class J11Exception {
	// 예외처리
	public static void main(String[] args) {
		/*System.out.println("이글이 보이나요!");
		//System.out.println( 100 / 0); // 오류!
		System.out.println("이글도 보이나요!");
		
		int  i[] = new int[10];
		for(int j = 1; j<= 10; ++j) {
			System.out.println(i[j]); // 오류!
		}*/
		
		System.out.println("이글이 보이나요!");
		try {
			System.out.println( 100 / 0);
		} catch(ArithmeticException ae) {
			ae.printStackTrace();
			System.out.println("0으로 나누면 안되요!");
		}
		System.out.println("이글도 보이나요!");
		
		int  i[] = new int[10];
		for(int j = 1; j<= 10; ++j) {
			try{
			System.out.println(i[j]);
			} catch(ArrayIndexOutOfBoundsException aio) {
				System.out.println("배열 범위를 벗어났습니다!");
			}
		}
		
		try {
			System.out.println( 100 / 0);
			System.out.println( i[100]);
		} catch(ArithmeticException ae) {
			System.out.println("0 입력 NO!");
		} catch(ArrayIndexOutOfBoundsException aio) {
				System.out.println("인덱스 초과!");
		}
		
		// 모든 예외의 조상 - Exception
		try {
			System.out.println("시 - 작");
			System.out.println(100/0);
			System.out.println(i[500]);
			System.out.println("끄 - 읏");
		} catch(Exception ex) {
			ex.printStackTrace();
			System.out.println("치명적 오류?가 발생");
		}
		
		
	} // main
} // class
